# Пораждающий шаблон проектирования ("Фабрика")
# Предоставлят дочерним класса интерфейс для создания экземпляров классов.

class IProduct:
    def realese(self):
        pass


class Car(IProduct):
    def realese(self):
        print("Выпущен новый легквой автомобиль")


class Truck(IProduct):
    def realese(self):
        print("Выпущен грузовой автомобиль")


class IWorkShop():
    def create(self) -> IProduct:
        pass


class CarWorkShop(IWorkShop):
    def create(self) -> Car:
        return Car()


class TruckWorkShop(IWorkShop):
    def create(self) -> Truck:
        return Truck()


if __name__ == "__main__":
    creator = CarWorkShop()
    car = creator.create()
    car.realese()

    creator = TruckWorkShop()
    truck = creator.create()
    truck.realese()

# Выпущен новый легквой автомобиль
# Выпущен грузовой автомобиль
